home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 April: Mac OS SDK / Dev.CD Apr 99 SDK1.toast / Development Kits / Interfaces&Libraries / Universal / Interfaces / AIncludes / Navigation.a < prev    next >
Encoding:
Text File  |  1998-08-17  |  16.5 KB  |  425 lines  |  [TEXT/MPS ]

  1. ;
  2. ;    File:        Navigation.a
  3. ;
  4. ;    Contains:    Navigation Services Interfaces
  5. ;
  6. ;    Version:    Technology:    1.1
  7. ;                Release:    Universal Interfaces 3.2
  8. ;
  9. ;    Copyright:    © 1996-1998 by Apple Computer, Inc., all rights reserved
  10. ;
  11. ;    Bugs?:        For bug reports, consult the following page on
  12. ;                the World Wide Web:
  13. ;
  14. ;                    http://developer.apple.com/bugreporter/
  15. ;
  16. ;
  17.     IF &TYPE('__NAVIGATION__') = 'UNDEFINED' THEN
  18. __NAVIGATION__ SET 1
  19.  
  20.     IF &TYPE('__MACTYPES__') = 'UNDEFINED' THEN
  21.     include 'MacTypes.a'
  22.     ENDIF
  23.     IF &TYPE('__APPLEEVENTS__') = 'UNDEFINED' THEN
  24.     include 'AppleEvents.a'
  25.     ENDIF
  26.     IF &TYPE('__TRANSLATION__') = 'UNDEFINED' THEN
  27.     include 'Translation.a'
  28.     ENDIF
  29.     IF &TYPE('__MACWINDOWS__') = 'UNDEFINED' THEN
  30.     include 'MacWindows.a'
  31.     ENDIF
  32.     IF &TYPE('__CODEFRAGMENTS__') = 'UNDEFINED' THEN
  33.     include 'CodeFragments.a'
  34.     ENDIF
  35.  
  36.  
  37.  
  38. kNavMissingKindStringErr        EQU        -5699
  39. kNavInvalidCustomControlMessageErr EQU    -5698
  40. kNavCustomControlMessageFailedErr EQU    -5697
  41. kNavInvalidSystemConfigErr        EQU        -5696
  42.  
  43.  
  44. kNavDialogOptionsVersion        EQU        0
  45. kNavReplyRecordVersion            EQU        0
  46. kNavCBRecVersion                EQU        0
  47. kNavFileOrFolderVersion            EQU        0
  48. kNavMenuItemSpecVersion            EQU        0
  49. ; typedef UInt16                         NavDataVersion
  50.  
  51.  
  52.                                                             ; input action codes for NavAskSaveChanges() 
  53. kNavSaveChangesClosingDocument    EQU        1
  54. kNavSaveChangesQuittingApplication EQU    2
  55. kNavSaveChangesOther            EQU        0
  56. ; typedef UInt32                         NavAskSaveChangesAction
  57.  
  58.  
  59.                                                             ; result codes for NavAskSaveChanges() 
  60. kNavAskSaveChangesSave            EQU        1
  61. kNavAskSaveChangesCancel        EQU        2
  62. kNavAskSaveChangesDontSave        EQU        3
  63. ; typedef UInt32                         NavAskSaveChangesResult
  64.  
  65.  
  66.                                                             ; result codes for NavAskDiscardChanges() 
  67. kNavAskDiscardChanges            EQU        1
  68. kNavAskDiscardChangesCancel        EQU        2
  69. ; typedef UInt32                         NavAskDiscardChangesResult
  70.  
  71.  
  72.                                                             ; which elements are being filtered for objects: 
  73. kNavFilteringBrowserList        EQU        0
  74. kNavFilteringFavorites            EQU        1
  75. kNavFilteringRecents            EQU        2
  76. kNavFilteringShortCutVolumes    EQU        3
  77. kNavFilteringLocationPopup        EQU        4                    ; for v1.1 or greater 
  78. ; typedef short                         NavFilterModes
  79.  
  80. NavFileOrFolderInfo        RECORD 0
  81. version                     ds.w    1                ; offset: $0 (0)
  82. isFolder                 ds.b    1                ; offset: $2 (2)
  83. visible                     ds.b    1                ; offset: $3 (3)
  84. creationDate             ds.l    1                ; offset: $4 (4)
  85. modificationDate         ds.l    1                ; offset: $8 (8)
  86. locked                     ds.b    1                ; offset: $C (12)        ;  file is locked 
  87. resourceOpen             ds.b    1                ; offset: $D (13)        ;  resource fork is opened 
  88. dataOpen                 ds.b    1                ; offset: $E (14)        ;  data fork is opened 
  89. reserved1                 ds.b    1                ; offset: $F (15)
  90. dataSize                 ds.l    1                ; offset: $10 (16)        ;  size of the data fork 
  91. resourceSize             ds.l    1                ; offset: $14 (20)        ;  size of the resource fork 
  92. finderInfo                 ds        FInfo            ; offset: $18 (24)        ;  more file info: 
  93. finderXInfo                 ds        FXInfo            ; offset: $28 (40)
  94.                          ORG 12
  95. shareable                 ds.b    1                ; offset: $C (12)
  96. sharePoint                 ds.b    1                ; offset: $D (13)
  97. mounted                     ds.b    1                ; offset: $E (14)
  98. readable                 ds.b    1                ; offset: $F (15)
  99. writeable                 ds.b    1                ; offset: $10 (16)
  100. reserved2                 ds.b    1                ; offset: $11 (17)
  101. numberOfFiles             ds.l    1                ; offset: $12 (18)
  102. finderDInfo                 ds        DInfo            ; offset: $16 (22)
  103. finderDXInfo             ds        DXInfo            ; offset: $26 (38)
  104. reserved3                 ds.b    214                ; offset: $36 (54)
  105. sizeof                     EQU *                    ; size:   $10C (268)
  106.                         ENDR
  107. NavEventDataInfo        RECORD 0
  108. event                     ds.l    1                ; offset: $0 (0)        ;  for event processing 
  109.                          ORG 0
  110. param                     ds.l    1                ; offset: $0 (0)        ;  points to event specific data 
  111. sizeof                     EQU *                    ; size:   $4 (4)
  112.                         ENDR
  113. NavEventData            RECORD 0
  114. eventDataParms             ds        NavEventDataInfo ; offset: $0 (0)        ;  the event data 
  115. itemHit                     ds.w    1                ; offset: $4 (4)        ;  the dialog item number, for v1.1 or greater 
  116. sizeof                     EQU *                    ; size:   $6 (6)
  117.                         ENDR
  118. ; typedef UInt32                         NavContext
  119.  
  120. NavCBRec                RECORD 0
  121. version                     ds.w    1                ; offset: $0 (0)
  122. context                     ds.l    1                ; offset: $2 (2)        ;  used by customization code to call Navigation Services 
  123. window                     ds.l    1                ; offset: $6 (6)        ;  the dialog 
  124. customRect                 ds        Rect            ; offset: $A (10)        ;  local coordinate rectangle of customization area 
  125. previewRect                 ds        Rect            ; offset: $12 (18)        ;  local coordinate rectangle of the preview area 
  126. eventData                 ds        NavEventData    ; offset: $1A (26)
  127. reserved                 ds.b    222                ; offset: $20 (32)
  128. sizeof                     EQU *                    ; size:   $FE (254)
  129.                         ENDR
  130. ; typedef struct NavCBRec *                NavCBRecPtr
  131.  
  132.  
  133. kNavCBEvent                        EQU        0                    ; an event has occurred (update, idle events, etc.) 
  134. kNavCBCustomize                    EQU        1                    ; protocol for negotiating customization space 
  135. kNavCBStart                        EQU        2                    ; the navigation dialog is starting up 
  136. kNavCBTerminate                    EQU        3                    ; the navigation dialog is closing down 
  137. kNavCBAdjustRect                EQU        4                    ; the navigation dialog is being resized 
  138. kNavCBNewLocation                EQU        5                    ; user has chosen a new location in the browser 
  139. kNavCBShowDesktop                EQU        6                    ; user has navigated to the desktop 
  140. kNavCBSelectEntry                EQU        7                    ; user has made a selection in the browser 
  141. kNavCBPopupMenuSelect            EQU        8                    ; signifies that a popup menu selection was made 
  142. kNavCBAccept                    EQU        9                    ; user has accepted the navigation dialog 
  143. kNavCBCancel                    EQU        10                    ; user has cancelled the navigation dialog 
  144. kNavCBAdjustPreview                EQU        11                    ; preview button was clicked or the preview was resized 
  145. ; typedef SInt32                         NavEventCallbackMessage
  146.  
  147. ; typedef void *                        NavCallBackUserData
  148.  
  149. ;  for events and customization: 
  150. ;  for preview support: 
  151. ;  filtering callback information: 
  152.  
  153. kNavCtlShowDesktop                EQU        0                    ;    show desktop,                 parms = nil 
  154. kNavCtlSortBy                    EQU        1                    ;    sort key field,             parms->NavSortKeyField 
  155. kNavCtlSortOrder                EQU        2                    ;    sort order,                    parms->NavSortOrder 
  156. kNavCtlScrollHome                EQU        3                    ;    scroll list home,            parms = nil 
  157. kNavCtlScrollEnd                EQU        4                    ;    scroll list end,            parms = nil 
  158. kNavCtlPageUp                    EQU        5                    ;    page list up,                parms = nil 
  159. kNavCtlPageDown                    EQU        6                    ;    page list down,                parms = nil 
  160. kNavCtlGetLocation                EQU        7                    ;    get current location,        parms<-AEDesc 
  161. kNavCtlSetLocation                EQU        8                    ;    set current location,        parms->AEDesc 
  162. kNavCtlGetSelection                EQU        9                    ;    get current selection,        parms<-AEDescList 
  163. kNavCtlSetSelection                EQU        10                    ;    set current selection,        parms->AEDescList 
  164. kNavCtlShowSelection            EQU        11                    ;    make selection visible,        parms = nil 
  165. kNavCtlOpenSelection            EQU        12                    ;    open view of selection,        parms = nil 
  166. kNavCtlEjectVolume                EQU        13                    ;    eject volume,                parms->vRefNum 
  167. kNavCtlNewFolder                EQU        14                    ;    create a new folder,        parms->StringPtr 
  168. kNavCtlCancel                    EQU        15                    ;    cancel dialog,                parms = nil 
  169. kNavCtlAccept                    EQU        16                    ;    accept dialog default,        parms = nil 
  170. kNavCtlIsPreviewShowing            EQU        17                    ;    query preview status,        parms<-Boolean 
  171. kNavCtlAddControl                EQU        18                    ;  add one control to dialog,    parms->ControlHandle 
  172. kNavCtlAddControlList            EQU        19                    ;    add control list to dialog,    parms->Handle (DITL rsrc) 
  173. kNavCtlGetFirstControlID        EQU        20                    ;    get 1st control ID,            parms<-UInt16 
  174. kNavCtlSelectCustomType            EQU        21                    ;    select a custom menu item    parms->NavMenuItemSpec 
  175. kNavCtlSelectAllType            EQU        22                    ;  select an "All" menu item    parms->SInt16 
  176. kNavCtlGetEditFileName            EQU        23                    ;    get save dlog's file name    parms<-StringPtr 
  177. kNavCtlSetEditFileName            EQU        24                    ;    set save dlog's file name    parms->StringPtr 
  178. kNavCtlSelectEditFileName        EQU        25                    ;    select save dlog file name    parms->ControlEditTextSelectionRec, for v1.1 or greater 
  179. ; typedef SInt32                         NavCustomControlMessage
  180.  
  181.  
  182. kNavAllKnownFiles                EQU        0
  183. kNavAllReadableFiles            EQU        1
  184. kNavAllFiles                    EQU        2
  185. ; typedef UInt16                         NavPopupMenuItem
  186.  
  187.  
  188. kNavSortNameField                EQU        0
  189. kNavSortDateField                EQU        1
  190. ; typedef UInt16                         NavSortKeyField
  191.  
  192.  
  193. kNavSortAscending                EQU        0
  194. kNavSortDescending                EQU        1
  195. ; typedef UInt16                         NavSortOrder
  196.  
  197.  
  198. kNavDefaultNavDlogOptions        EQU        $000000E4            ; use defaults for all the options 
  199. kNavNoTypePopup                    EQU        $00000001            ; don't show file type/extension popup on Open/Save 
  200. kNavDontAutoTranslate            EQU        $00000002            ; don't automatically translate on Open 
  201. kNavDontAddTranslateItems        EQU        $00000004            ; don't add translation choices on Open/Save 
  202. kNavAllFilesInPopup                EQU        $00000010            ; "All Files" menu item in the type popup on Open 
  203. kNavAllowStationery                EQU        $00000020            ; allow saving of stationery files 
  204. kNavAllowPreviews                EQU        $00000040            ; allow to show previews 
  205. kNavAllowMultipleFiles            EQU        $00000080            ; allow multiple items to be selected 
  206. kNavAllowInvisibleFiles            EQU        $00000100            ; allow invisible items to be shown 
  207. kNavDontResolveAliases            EQU        $00000200            ; don't resolve aliases 
  208. kNavSelectDefaultLocation        EQU        $00000400            ; make the default location the browser selection 
  209. kNavSelectAllReadableItem        EQU        $00000800            ; make the dialog select "All Readable Documents" on Open 
  210. ; typedef UInt32                         NavDialogOptionFlags
  211.  
  212.  
  213. kNavTranslateInPlace            EQU        0                    ;    translate in place, replacing translation source file (default for Save) 
  214. kNavTranslateCopy                EQU        1                    ;    translate to a copy of the source file (default for Open) 
  215. ; typedef UInt32                         NavTranslationOptions
  216.  
  217. NavMenuItemSpec            RECORD 0
  218. version                     ds.w    1                ; offset: $0 (0)
  219. menuCreator                 ds.l    1                ; offset: $2 (2)
  220. menuType                 ds.l    1                ; offset: $6 (6)
  221. menuItemName             ds        Str255            ; offset: $A (10)
  222. reserved                 ds.b    245                ; offset: $10A (266)
  223.                          ORG 512
  224. sizeof                     EQU *                    ; size:   $200 (512)
  225.                         ENDR
  226. NavMenuItemSpecArray    RECORD 0
  227. elements                 ds.b    1 * NavMenuItemSpec.sizeof
  228. sizeof                     EQU *                    ; size:   $200 (512)
  229.                         ENDR
  230.  
  231.  
  232. ; typedef NavMenuItemSpecArray *        NavMenuItemSpecArrayPtr
  233.  
  234. ; typedef NavMenuItemSpecArrayPtr *        NavMenuItemSpecArrayHandle
  235.  
  236. ; typedef NavMenuItemSpecArrayPtr         NavMenuItemSpecPtr
  237.  
  238. ; typedef NavMenuItemSpecArrayHandle     NavMenuItemSpecHandle
  239.  
  240. NavTypeList                RECORD 0
  241. componentSignature         ds.l    1                ; offset: $0 (0)
  242. reserved                 ds.w    1                ; offset: $4 (4)
  243. osTypeCount                 ds.w    1                ; offset: $6 (6)
  244. osType                     ds.l    1                ; offset: $8 (8) <-- really an array of length one
  245. sizeof                     EQU *                    ; size:   $C (12)
  246.                         ENDR
  247. ; typedef struct NavTypeList *            NavTypeListPtr
  248.  
  249. ; typedef NavTypeListPtr *                NavTypeListHandle
  250.  
  251. NavDialogOptions        RECORD 0
  252. version                     ds.w    1                ; offset: $0 (0)
  253. dialogOptionFlags         ds.l    1                ; offset: $2 (2)        ;  option flags for affecting the dialog's behavior 
  254. location                 ds        Point            ; offset: $6 (6)        ;  top-left location of the dialog, or {-1,-1} for default position 
  255. clientName                 ds        Str255            ; offset: $A (10)
  256. windowTitle                 ds        Str255            ; offset: $10A (266)
  257. actionButtonLabel         ds        Str255            ; offset: $20A (522)    ;  label of the default button (or null string for default) 
  258. cancelButtonLabel         ds        Str255            ; offset: $30A (778)    ;  label of the cancel button (or null string for default) 
  259. savedFileName             ds        Str255            ; offset: $40A (1034)    ;  default name for text box in NavPutFile (or null string for default) 
  260. message                     ds        Str255            ; offset: $50A (1290)    ;  custom message prompt (or null string for default) 
  261. preferenceKey             ds.l    1                ; offset: $60A (1546)    ;  a key for to managing preferences for using multiple utility dialogs 
  262. popupExtension             ds.l    1                ; offset: $60E (1550)    ;  extended popup menu items, an array of NavMenuItemSpecs 
  263. reserved                 ds.b    494                ; offset: $612 (1554)
  264. sizeof                     EQU *                    ; size:   $800 (2048)
  265.                         ENDR
  266. ;  data returned by the utility dialogs: 
  267. NavReplyRecord            RECORD 0
  268. version                     ds.w    1                ; offset: $0 (0)
  269. validRecord                 ds.b    1                ; offset: $2 (2)        ;  open/save: true if the user confirmed a selection, false on cancel 
  270. replacing                 ds.b    1                ; offset: $3 (3)        ;  save: true if the user is overwriting an existing object for save 
  271. isStationery             ds.b    1                ; offset: $4 (4)        ;  save: true if the user wants to save an object as stationery 
  272. translationNeeded         ds.b    1                ; offset: $5 (5)        ;  save: translation is 'needed', open: translation 'has taken place' 
  273. selection                 ds        AEDescList        ; offset: $6 (6)        ;  open/save: list of AppleEvent descriptors of the chosen object(s) 
  274. keyScript                 ds.w    1                ; offset: $E (14)        ;  open/save: script in which the name of each item in 'selection' is to be displayed 
  275. fileTranslation             ds.l    1                ; offset: $10 (16)        ;  open/save: list of file translation specs of the chosen object(s), if translation is needed 
  276. reserved1                 ds.l    1                ; offset: $14 (20)
  277. reserved                 ds.b    231                ; offset: $18 (24)
  278.                          ORG 256
  279. sizeof                     EQU *                    ; size:   $100 (256)
  280.                         ENDR
  281. ;
  282. ; pascal OSErr NavLoad(void )
  283. ;
  284.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  285.         IMPORT_CFM_FUNCTION NavLoad
  286.     ENDIF
  287.  
  288. ;
  289. ; pascal OSErr NavUnload(void )
  290. ;
  291.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  292.         IMPORT_CFM_FUNCTION NavUnload
  293.     ENDIF
  294.  
  295. ;
  296. ; pascal UInt32 NavLibraryVersion(void )
  297. ;
  298.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  299.         IMPORT_CFM_FUNCTION NavLibraryVersion
  300.     ENDIF
  301.  
  302. ;
  303. ; pascal OSErr NavGetDefaultDialogOptions(NavDialogOptions *dialogOptions)
  304. ;
  305.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  306.         IMPORT_CFM_FUNCTION NavGetDefaultDialogOptions
  307.     ENDIF
  308.  
  309.  
  310. ;
  311. ; pascal OSErr NavGetFile(AEDesc *defaultLocation, NavReplyRecord *reply, NavDialogOptions *dialogOptions, NavEventUPP eventProc, NavPreviewUPP previewProc, NavObjectFilterUPP filterProc, NavTypeListHandle typeList, void *callBackUD)
  312. ;
  313.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  314.         IMPORT_CFM_FUNCTION NavGetFile
  315.     ENDIF
  316.  
  317. ;
  318. ; pascal OSErr NavPutFile(AEDesc *defaultLocation, NavReplyRecord *reply, NavDialogOptions *dialogOptions, NavEventUPP eventProc, OSType fileType, OSType fileCreator, void *callBackUD)
  319. ;
  320.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  321.         IMPORT_CFM_FUNCTION NavPutFile
  322.     ENDIF
  323.  
  324. ;
  325. ; pascal OSErr NavAskSaveChanges(NavDialogOptions *dialogOptions, NavAskSaveChangesAction action, NavAskSaveChangesResult *reply, NavEventUPP eventProc, void *callBackUD)
  326. ;
  327.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  328.         IMPORT_CFM_FUNCTION NavAskSaveChanges
  329.     ENDIF
  330.  
  331. ;
  332. ; pascal OSErr NavCustomAskSaveChanges(NavDialogOptions *dialogOptions, NavAskSaveChangesResult *reply, NavEventUPP eventProc, void *callBackUD)
  333. ;
  334.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  335.         IMPORT_CFM_FUNCTION NavCustomAskSaveChanges
  336.     ENDIF
  337.  
  338. ;
  339. ; pascal OSErr NavAskDiscardChanges(NavDialogOptions *dialogOptions, NavAskDiscardChangesResult *reply, NavEventUPP eventProc, void *callBackUD)
  340. ;
  341.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  342.         IMPORT_CFM_FUNCTION NavAskDiscardChanges
  343.     ENDIF
  344.  
  345. ;
  346. ; pascal OSErr NavChooseFile(AEDesc *defaultLocation, NavReplyRecord *reply, NavDialogOptions *dialogOptions, NavEventUPP eventProc, NavPreviewUPP previewProc, NavObjectFilterUPP filterProc, NavTypeListHandle typeList, void *callBackUD)
  347. ;
  348.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  349.         IMPORT_CFM_FUNCTION NavChooseFile
  350.     ENDIF
  351.  
  352. ;
  353. ; pascal OSErr NavChooseFolder(AEDesc *defaultLocation, NavReplyRecord *reply, NavDialogOptions *dialogOptions, NavEventUPP eventProc, NavObjectFilterUPP filterProc, void *callBackUD)
  354. ;
  355.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  356.         IMPORT_CFM_FUNCTION NavChooseFolder
  357.     ENDIF
  358.  
  359. ;
  360. ; pascal OSErr NavChooseVolume(AEDesc *defaultSelection, NavReplyRecord *reply, NavDialogOptions *dialogOptions, NavEventUPP eventProc, NavObjectFilterUPP filterProc, void *callBackUD)
  361. ;
  362.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  363.         IMPORT_CFM_FUNCTION NavChooseVolume
  364.     ENDIF
  365.  
  366. ;
  367. ; pascal OSErr NavChooseObject(AEDesc *defaultLocation, NavReplyRecord *reply, NavDialogOptions *dialogOptions, NavEventUPP eventProc, NavObjectFilterUPP filterProc, void *callBackUD)
  368. ;
  369.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  370.         IMPORT_CFM_FUNCTION NavChooseObject
  371.     ENDIF
  372.  
  373. ;
  374. ; pascal OSErr NavNewFolder(AEDesc *defaultLocation, NavReplyRecord *reply, NavDialogOptions *dialogOptions, NavEventUPP eventProc, void *callBackUD)
  375. ;
  376.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  377.         IMPORT_CFM_FUNCTION NavNewFolder
  378.     ENDIF
  379.  
  380. ;
  381. ; pascal OSErr NavTranslateFile(NavReplyRecord *reply, NavTranslationOptions howToTranslate)
  382. ;
  383.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  384.         IMPORT_CFM_FUNCTION NavTranslateFile
  385.     ENDIF
  386.  
  387. ;
  388. ; pascal OSErr NavCompleteSave(NavReplyRecord *reply, NavTranslationOptions howToTranslate)
  389. ;
  390.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  391.         IMPORT_CFM_FUNCTION NavCompleteSave
  392.     ENDIF
  393.  
  394. ;
  395. ; pascal OSErr NavCustomControl(NavContext context, NavCustomControlMessage selector, void *parms)
  396. ;
  397.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  398.         IMPORT_CFM_FUNCTION NavCustomControl
  399.     ENDIF
  400.  
  401. ;
  402. ; pascal OSErr NavDisposeReply(NavReplyRecord *reply)
  403. ;
  404.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  405.         IMPORT_CFM_FUNCTION NavDisposeReply
  406.     ENDIF
  407.  
  408. ;
  409. ; pascal Boolean NavServicesCanRun(void )
  410. ;
  411.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  412.         IMPORT_CFM_FUNCTION NavServicesCanRun
  413.     ENDIF
  414.  
  415.  
  416. ;
  417. ; pascal Boolean NavServicesAvailable(void)
  418. ;
  419.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  420.         IMPORT_CFM_FUNCTION NavServicesAvailable
  421.     ENDIF
  422.  
  423.     ENDIF ; __NAVIGATION__ 
  424.  
  425.